//package com.huabo.monitor.controller;
//
//
//import com.hbfk.util.JsonBean;
//import com.hbfk.util.ResponseFormat;
//import com.huabo.monitor.oracle.entity.TblAssess;
//import com.huabo.monitor.oracle.entity.TblAssesstemple;
//import com.huabo.monitor.service.TblAssessService;
//import com.huabo.monitor.service.TblAssesstempleService;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import io.swagger.annotations.ApiParam;
//import org.springframework.web.bind.annotation.*;
//
//import javax.annotation.Resource;
//import java.math.BigDecimal;
//
//@RestController
//@Api(value = "评价立项", tags = {"评价立项相关"})
//@RequestMapping(value = "/nbkz")
//public class NKProjectController {
//
//    @Resource
//    private TblAssessService tblAssessService;
//
//    @Resource
//    private TblAssesstempleService tblAssesstempleService;
//
//    /**
//     * 评价管理 项目立项
//     *
//     * @param
//     * @return
//     */
//    @GetMapping(value = "/pjgl/proj_initiate")
//    @ApiOperation("项目立项列表-内容页面分页功能")
//    public JsonBean initiatePjgl(
//            @ApiParam(name = "token", value = "登录用户token", required = true) @RequestHeader("token") String token,
//            @ApiParam(name = "pageNumber", value = "分页当前页数", required = false) @RequestParam(value = "pageNumber", required = false, defaultValue = "1") Integer pageNumber,
//            @ApiParam(name = "pageSize", value = "每页记录数", required = false) @RequestParam(value = "pageSize", required = false, defaultValue = "15") Integer pageSize,
//            @ApiParam(name = "assNumnber", value = "项目编号", required = false) @RequestParam(value = "assNumnber", required = false) String assNumnber,
//            @ApiParam(name = "assName", value = "项目名称", required = false) @RequestParam(value = "assName", required = false) String assName,
//            @ApiParam(name = "startDate", value = "开始时间的起始时间", required = false) @RequestParam(value = "startDate", required = false) String startDate,
//            @ApiParam(name = "startDates", value = "开始时间的结束时间", required = false) @RequestParam(value = "startDates", required = false) String startDates,
//            @ApiParam(name = "endDate", value = "结束时间的起始时间", required = false) @RequestParam(value = "endDate", required = false) String endDate,
//            @ApiParam(name = "endDates", value = "结束时间的结束时间", required = false) @RequestParam(value = "endDates", required = false) String endDates) {
//
//        JsonBean jsonBean = null;
//        try {
//            jsonBean = tblAssessService.findByPage(pageNumber, pageSize, assNumnber, assName, startDate, startDates, endDate, endDates);
//        } catch (Exception e) {
//            e.printStackTrace();
//            ResponseFormat.retParam(0, 1000, e.getMessage());
//        }
//        return jsonBean;
//
//    }
//
//    /**
//     * 获取项目下面的被评价对象
//     *
//     * @param pageNumber
//     * @param selectedPlans
//     * @return
//     */
//    @RequestMapping(value = "/pjgl/t08_proj_org")
//    public ModelAndView t08_proj_org(Integer pageNumber, BigDecimal selectedPlans) {
//        if (null != selectedPlans) {
//            pageBean = this.tblOrganizaService.getOrgByassId(pageNumber, pageBean.getPageSize(), selectedPlans);
//            TblAssess assess = this.tblAssessService.get(selectedPlans);
//            mav.setViewName("nbkz/pjgl/t08_proj_org");
//            mav.addObject("pageBean", pageBean);
//            mav.addObject("project", assess);
//            // 为页面查找区域显隐藏赋值
//            String choiceSearch = request.getParameter("choiceSearch");
//            if (choiceSearch == null || "".equals(choiceSearch)) {
//                choiceSearch = "hide";
//            }
//            mav.addObject("choiceSearch", choiceSearch);
//        }
//        return mav;
//    }
//
//    /**
//     * 项目授权
//     *
//     * @return
//     */
//    @RequestMapping(value = "/pjgl/t08_proj_modify")
//    public ModelAndView t08_proj_modify(Integer pageNumber, BigDecimal assId, BigDecimal orgId) {
//        if (null != assId && null != orgId) {
//            String type = request.getParameter("type");
//            String num = request.getParameter("num");
//            if (type != null && num != null && num != "" && type.trim().equals("1")) {
//                pageNumber = Integer.parseInt(num);
//            }
//            pageBean.setPageSize(15);
//            pageBean = this.tblAssessMarkService.findByPageBean(assId, orgId, pageNumber, pageBean.getPageSize());
//            List<TblAssessMark> list = pageBean.getRecordList();
//            for (TblAssessMark tblAssessMark : list) {
//                Set<TblAssessStaff> tblAssessStaffs = tblAssessMark.getTblAssessStaffs();
//                tblAssessMark.getListStaff().addAll(tblAssessStaffs);
//                Collections.sort(tblAssessMark.getListStaff(), new Comparator<TblAssessStaff>() {
//                    @Override
//                    public int compare(TblAssessStaff o1, TblAssessStaff o2) {
//                        return o1.getAssStaffId().compareTo(o2.getAssStaffId());
//                    }
//                });
//            }
//
//            pageBean.setRecordList(list);
//            mav.setViewName("nbkz/pjgl/t08_proj_modify");
//            mav.addObject("pageBean", pageBean);
//            mav.addObject("assId", assId);
//            mav.addObject("num", pageNumber);
//            mav.addObject("orgId", orgId);
//            mav.addObject("project", this.tblAssessService.get(assId));
//            // 为页面查找区域显隐藏赋值
//            String choiceSearch = request.getParameter("choiceSearch");
//            if (choiceSearch == null || "".equals(choiceSearch)) {
//                choiceSearch = "hide";
//            }
//            mav.addObject("choiceSearch", choiceSearch);
//        }
//        return mav;
//    }
//
//    /**
//     * 设置主评人 main
//     *
//     * @return
//     */
//    @RequestMapping(value = "/pjgl/t08_proj_assignorzhu")
//    public ModelAndView t08_proj_assignorzhu(String z, String type, HttpServletRequest request) {
//        ModelAndView mv = new ModelAndView();
//        String num = request.getParameter("num");
//        mv.setViewName("nbkz/pjgl/setting_user_main");
//        mv.addObject("z", z);
//        mv.addObject("type", type);
//        mv.addObject("num", num);
//        // 为页面查找区域显隐藏赋值
//        String choiceSearch = request.getParameter("choiceSearch");
//        if (choiceSearch == null || "".equals(choiceSearch)) {
//            choiceSearch = "hide";
//        }
//        mv.addObject("choiceSearch", choiceSearch);
//        return mv;
//    }
//
//    /**
//     * 设置参评人权重
//     *
//     * @return
//     */
//    @RequestMapping(value = "/pjgl/t08_proj_assignor")
//    public ModelAndView t08_proj_assignor(BigDecimal assMarkId, Integer pageNumber, HttpServletRequest request) {
//        pageBean = this.tblAssessStaffService.getTblAssessStaffByMarkId(assMarkId, pageNumber, pageBean.getPageSize());
//        mav.setViewName("nbkz/pjgl/t08_proj_assignor");
//        mav.addObject("pageBean", pageBean);
//        if (pageBean.getRecordList().size() > 0) {
//            TblAssessStaff assess = (TblAssessStaff) pageBean.getRecordList().get(0);
//            mav.addObject("assess", assess.getTblAssessMark().getAssess());
//        }
//        String num = request.getParameter("num");
//        mav.addObject("num", num);
//        // 为页面查找区域显隐藏赋值
//        String choiceSearch = request.getParameter("choiceSearch");
//        if (choiceSearch == null || "".equals(choiceSearch)) {
//            choiceSearch = "hide";
//        }
//        mav.addObject("choiceSearch", choiceSearch);
//        return mav;
//    }
//
//    /**
//     * 项目立项 --启动
//     *
//     * @param assId
//     * @return
//     */
//    @RequestMapping(value = "/pjgl/start", produces = "application/json; charset=utf-8")
//    public @ResponseBody
//    String start(BigDecimal assId) {
//        TblAssess assess = this.tblAssessService.get(assId);
//        if (assess.getAssstatus().equals(TblAssess.CREATE)) {
//            List<TblAssessMark> assessMarks = this.tblAssessMarkService.findUnstart(assId);
//            if (assessMarks.size() == 0) {
//                List<BigDecimal> staff = this.tblTaskService.getStaff(assId);
//                for (BigDecimal bigDecimal : staff) {
//                    TblTask task = new TblTask();
//                    task.setStaffId(bigDecimal);
//                    task.setStatus(TblTask.START);
//                    task.setTaskCode(assess.getAssessid());
//                    task.setTaskName(assess.getAssessname());
//                    task.setUrl("/nbkz/pjgl/proj_task_gradelist");
//                    task.setTaskTime(new Date());
//                    this.tblTaskService.add(task);
//                }
//                assess.setAssstatus(TblAssess.START);
//                assess.setAssstartday(new Date());
//                this.tblAssessService.update(assess);
//                return JsonBean.success();
//            } else {
//                return JsonBean.error("参评人设置不完整");
//            }
//        }
//        return JsonBean.error("不能重复启动");
//    }
//
//
//    /**
//     * 选择组织架构条状
//     *
//     * @param orgid
//     * @param str
//     * @return
//     */
//    @GetMapping(value = "/radio_orgarea_window")
//    public JsonBean radio_orgarea_window(String orgid, String str) {
//        mav = new ModelAndView("common/location_window_orgarea_radio4");
//        mav.addObject("group", request.getParameter("group"));
//        mav.addObject("orgid", orgid);
//        return mav;
//    }
//
//    /**
//     * 评价负责人选择列表
//     *
//     * @param request
//     * @return
//     */
//    @RequestMapping(value = "/pjlx/indexs")
//    public ModelAndView pjlxuserIndex(HttpServletRequest request) {
//        ModelAndView mv = new ModelAndView("/nbkz/xmgl/pjlx_index");
//        String num = request.getParameter("type");
//        mv.addObject("type", num);
//        mv.addObject("idname", request.getParameter("idname"));
//        mv.addObject("textname", request.getParameter("textname"));
//        return mv;
//    }
//
//    /**
//     * 创建项目 选择模板列表
//     *
//     * @param
//     * @return
//     */
//    @RequestMapping(value = "/pjgl/proj_tmplLocation")
//    public JsonBean proj_tmplLocationPjgl(Integer pageNumber, TblAssesstemple assesstemple, String orgids) {
//        if (StringUtils.isNotBlank(orgids)) {
//            pageBean = this.tblAssesstempleService.findAll(getCurrentOrg().getOrgid().toString(), pageNumber,
//                    pageBean.getPageSize(), assesstemple, orgids);
//            mav.setViewName("nbkz/pjgl/proj_tmplLocation");
//            mav.addObject("pageBean", pageBean);
//            mav.addObject("templ", assesstemple);
//            mav.addObject("orgids", orgids);
//
//        }
//        // 为页面查找区域显隐藏赋值
//        String choiceSearch = request.getParameter("choiceSearch");
//        if (choiceSearch == null || "".equals(choiceSearch)) {
//            choiceSearch = "hide";
//        }
//        mav.addObject("choiceSearch", choiceSearch);
//        return mav;
//
//    }
//
//    /**
//     * 项目立项 -- 新建
//     *
//     * @return
//     */
//    @PostMapping(value = "/pjgl/proj_add")
//    public JsonBean proj_addPjgl(@ApiParam(name = "token", value = "登录用户token", required = true) @RequestHeader("token") String token,
//                                 @RequestBody TblAssess tblAssess) {
//        return tblAssessService.add(tblAssess);
//    }
//
//    /**
//     * 项目立项 -- 删除
//     *
//     * @param
//     * @return
//     */
//    @RequestMapping(value = "/pjgl/proj_delete", produces = "application/json; charset=utf-8")
//    public JsonBean proj_deletePjgl(@ApiParam(name = "assId", value = "评价项目ID", required = true) @RequestParam(value = "assId", required = true) BigDecimal assId) {
//        return tblAssessService.delete(assId);
//    }
//
//    /**
//     * 评价项目 -- 修改
//     *
//     * @param
//     * @return
//     */
//    @PostMapping(value = "/pjgl/proj_modify")
//    public JsonBean proj_modifyPjgl(@ApiParam(name = "token", value = "登录用户token", required = true) @RequestHeader("token") String token,
//                                    @RequestBody TblAssess tblAssess) {
//        return tblAssessService.update(tblAssess);
//    }
//}
